package com.hlkj.pay.infrastructure.model.payment;

import com.baomidou.mybatisplus.annotation.TableName;
import com.hlkj.framework.mybatis.core.dataobject.BaseDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
* 商户代付统计
* @TableName t_merchant_payment_statistics
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("t_merchant_payment_statistics")
public class MerchantPaymentStatisticsDO extends BaseDO {

    /**
     * 1 天
     */
    @Schema(description = "统计维度 1 商户维度 2 代付类型 3 APPID 4 通道编码")
    private Integer type;

    /**
     * 商户号
     */
    @Schema(description = "关联id 与type 匹配 1 为sn 2 为payment_type 3 app_id 4 mch_channel_code")
    private String relationId;

    /**
     * 订单笔数
     */
    @Schema(description = "订单笔数")
    private Integer submitOrderCount;

    /**
     * 支付订单笔数
     */
    @Schema(description = "支付订单笔数")
    private Integer payOrderCount;

    /**
     * 订单金额
     */
    @Schema(description = "订单金额")
    private BigDecimal submitOrderAmount;

    /**
     * 支付订单金额
     */
    @Schema(description = "支付订单金额")
    private BigDecimal payOrderAmount;

    /**
     * 退款笔数
     */
    @Schema(description = "退款笔数")
    private Integer refundCount;

    /**
     * 退款金额
     */
    @Schema(description = "退款金额")
    private BigDecimal refundAmount;

    /**
     * 平台交易手续费
     */
    @Schema(description = "平台交易手续费")
    private BigDecimal feeAmount;

    /**
     * 机构交易手续费
     */
    @Schema(description = "机构交易手续费")
    private BigDecimal channelFeeAmount;

    /**
     * 统计时间
     */
    @Schema(description = "统计时间")
    private Long time;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;

    /**
     * 备注
     */
    @Schema(description = "sn")
    private String sn;

}
